package com.letian.record.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.letian.common.annotation.Excel;
import com.letian.common.core.domain.BaseEntity;

/**
 * 族谱对象 record_genealogy
 * 
 * @author bmz
 * @date 2025-07-20
 */
public class RecordGenealogy extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long genealogyId;

    /** 名称 */
    @Excel(name = "名称")
    private String genealogyName;

    /** 名称 */
    @Excel(name = "姓氏")
    private String surname;

    /** 联络人 */
    @Excel(name = "联络人")
    private String contactPerson;

    /** 管理成员 */
    @Excel(name = "管理成员")
    private String joinMember;

    /** 根区域 */
    @Excel(name = "根区域")
    private String rootRegion;

    /** 成员数量 */
    private int membersCount;

    /** 修订时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修订时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date revisionTime;

    /** 介绍 */
    @Excel(name = "介绍")
    private String introduction;

    /** 家规 */
    @Excel(name = "家规")
    private String familyRules;

    /** 家训 */
    @Excel(name = "家训")
    private String familyTraining;

    /** 删除标识 */
    private String delFlag;

    public void setGenealogyId(Long genealogyId) 
    {
        this.genealogyId = genealogyId;
    }

    public Long getGenealogyId() 
    {
        return genealogyId;
    }
    public void setGenealogyName(String genealogyName) 
    {
        this.genealogyName = genealogyName;
    }

    public String getGenealogyName() 
    {
        return genealogyName;
    }
    public void setSurname(String surname)
    {
        this.surname = surname;
    }

    public String getSurname()
    {
        return surname;
    }
    public void setContactPerson(String contactPerson) 
    {
        this.contactPerson = contactPerson;
    }

    public String getContactPerson() 
    {
        return contactPerson;
    }
    public void setJoinMember(String joinMember)
    {
        this.joinMember = joinMember;
    }

    public String getJoinMember()
    {
        return joinMember;
    }
    public void setRootRegion(String rootRegion) 
    {
        this.rootRegion = rootRegion;
    }

    public String getRootRegion() 
    {
        return rootRegion;
    }
    public void setMembersCount(int membersCount)
    {
        this.membersCount = membersCount;
    }

    public int getMembersCount()
    {
        return membersCount;
    }
    public void setRevisionTime(Date revisionTime) 
    {
        this.revisionTime = revisionTime;
    }

    public Date getRevisionTime() 
    {
        return revisionTime;
    }
    public void setIntroduction(String introduction) 
    {
        this.introduction = introduction;
    }

    public String getIntroduction() 
    {
        return introduction;
    }
    public void setFamilyRules(String familyRules) 
    {
        this.familyRules = familyRules;
    }

    public String getFamilyRules() 
    {
        return familyRules;
    }
    public void setFamilyTraining(String familyTraining) 
    {
        this.familyTraining = familyTraining;
    }

    public String getFamilyTraining() 
    {
        return familyTraining;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("genealogyId", getGenealogyId())
            .append("genealogyName", getGenealogyName())
            .append("surname", getSurname())
            .append("contactPerson", getContactPerson())
            .append("rootRegion", getRootRegion())
            .append("membersCount", getMembersCount())
            .append("revisionTime", getRevisionTime())
            .append("introduction", getIntroduction())
            .append("familyRules", getFamilyRules())
            .append("familyTraining", getFamilyTraining())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
